<?php
//正则表达式工具类
class RegexUtils
{
    //// 使用正则表达式匹配字符串$regxstr 字符串是否包含 'noyou'
    public static function checkAndReturnString($input,$regxstr) {
        // 使用正则表达式匹配 'noyou'
        if (preg_match('/'.$regxstr.'/', $input)) {
            return $input; // 如果匹配成功，返回整个字符串
        } else {
            return false; // 如果没有匹配，返回 false
        }
    }


    //验证邮箱格式 $email = "example@example.com";
    public static function checkEmail($email)
    {
        if (preg_match("/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/", $email)) {
            echo "邮箱地址格式正确";
        } else {
            echo "邮箱地址格式不正确";
        }
    }


    //验证用户名格式 是否包含敏感词
    public static function checkUserName($username)
    {
        $sensitive_words = array("admin", "root", "superuser"); // 添加敏感词列表

        $regex = '/' . implode('|', array_map('preg_quote', $sensitive_words)) . '/i'; // 构建正则表达式，不区分大小写

        if (!preg_match($regex, $username)) {
            echo "用户名格式正确";
        } else {
            echo "用户名包含敏感词";
        }
    }

    //验证密码只能由字母和数字组成
    public static function checkPassword($password)
    {
        if (preg_match("/^[a-zA-Z0-9]+$/", $password)) {
            echo "密码格式正确";
        } else {
            echo "密码式不正确";
        }
    }

    //验证手机号码格式只能是纯数字且长度为11位
    public static function checkMobilePhone($phone_number)
    {
        if (preg_match("/^\d{11}$/", $phone_number)) {
            echo "手机号码格式正确";
        } else {
            echo "手机号码格式不正确";
        }
    }


    //验证图片文件的格式是否为 GIF、PNG 或 JPEG
    public static function checkImages($image_filename)
    {
        if (preg_match("/\.(gif|png|jpe?g)$/i", $image_filename)) {
            echo "图片格式正确";
        } else {
            echo "图片格式不正确";
        }
    }

// 测试示例
/*$testString = "This is a test with noyou inside.";
$result = checkAndReturnString($testString);

if ($result !== false) {
echo "包含 'noyou' 的字符串: $result";
} else {
    echo "字符串不包含 'noyou'";
}*/
}